perm filename M[AM,DBL]1 blob
sn#166103 filedate 1975-07-05 generic text, type T, neo UTF8
(FILECREATED " 5-JUL-75 15:44:04" <LENAT>M.;8 1950
changes to: M1 M2 SUB-CANDS MCOMS PRUNE UNPRUNABLE PICK-CAND ADD-CANDS RESET1
previous date: " 5-JUL-75 13:03:04" <LENAT>M.;3)
(LISPXPRINT (QUOTE MCOMS)
T T)
(RPAQQ MCOMS ((FNS ADD-CANDS M1 M2 PICK-CAND PRUNE RESET1 SUB-CANDS UNPRUNABLE)))
(DEFINEQ
(ADD-CANDS
[LAMBDA (C)
(SETQ CANDS (NCONC C CANDS])
(M1
[LAMBDA (Z)
(OR (ILESSP (CAR Z)
(CAR CAND))
(SETQ CAND Z])
(M2
[LAMBDA NIL
(SETQ CAND (LIST 0))
(MAPC CANDS (QUOTE M1])
(PICK-CAND
[LAMBDA NIL
(PROG NIL
P1 (M2)
(COND
((ILESSP (CAR CAND)
DO-THRESH)
(DE-THRESH)
(FIND-NEW-CANDS)
(GO P1)))
(CPRIN1 5 "NEW CAND = " CAND)
(COND
((DREMOVE CAND CANDS))
((SETQ CANDS CAND-TAIL)))
(COND
((RECENTLY-TRIED CAND)
(CPRIN1 3 " REPEATER CAND SKIPPED " CRLF)
(DE-THRESH)
(AND (ZEROP DO-THRESH)
(DIE " DO-THRESH IDENTICALLY ZERO "))
(GO P1))
((AND (SETQ CS-OP (COP CAND))
(SETQ CS-B (CB CAND))
(SETQ CS-P (CP CAND))
(ENSURE-TOP))
(SETQ CS-INT (CINT CAND))
(SETQ CS-ACT (CACT CAND))
(SETQ GEXISTING (GETB CS-B CS-P))
(RETURN CAND)))
(GO P1])
(PRUNE
[LAMBDA (N)
(SETQ CANDS (SUBSET CANDS (QUOTE UNPRUNABLE])
(RESET1
[LAMBDA (Z)
(MAPB (OR (EQ B (QUOTE LIST-STRUC))
(PROGN (PROGN (REMPROP B (QUOTE EXS))
(REMPROP B (QUOTE EXS-BDY])
(SUB-CANDS
[LAMBDA (SL)
[MAPC SL (FUNCTION (LAMBDA (S)
(SOME CANDS (FUNCTION (LAMBDA (C)
(AND (EQUAL (CACT C)
(CACT S))
(RPLACA C (IQUOTIENT (CINT C)
2] (* This is rather an inefficient way to
do this.)
CANDS])
(UNPRUNABLE
[LAMBDA (C)
(ILESSP INTHRESH (CAR C])
)
(DECLARE: DONTCOPY
(FILEMAP (NIL (330 1926 (ADD-CANDS 342 . 401) (M1 405 . 480) (M2 484 . 557) (PICK-CAND 561 . 1332) (PRUNE 1336 . 1408)
(RESET1 1412 . 1557) (SUB-CANDS 1561 . 1862) (UNPRUNABLE 1866 . 1923)))))
STOP